#include <iostream>
#include <vector>
using namespace std;
const int N=10;

int f[N][N];
void init()
{
	for(int i=0;i<10;i++)
	{
		if(i==4)
			continue;
		f[1][i]=1;
	}
	for(int i=2;i<=N;i++)
	{
		for(int j=0;j<10;j++)
		{
			if(j==4)
				continue;
			for(int k=0;k<10;k++)
			{
				if(k==4 || j==6&&k==2)
					continue;
				f[i][j]+=f[i-1][k];
			}
		}
	}
}
int dp(int num)
{
	if(!num)
		return 1;
	vector<int> nums;
	while(num)
	{
		nums.push_back(num%10);
		num/=10;
	}
	
	int last=0;
	int ret=0;
	for(int i=nums.size()-1;i>=0;i--)
	{
		int t=nums[i];
		for(int j=0;j<t;j++)
		{
			if(j==4 || last==6 && j==2)
				continue;
			ret+=f[i+1][j];
		}
		if(t==4 || last==6 && t==2)
			break;
		last=t;
		if(!i)
			ret++;
		
		
	}
	return ret;
}
int main()
{
	int a,b;
	init();
	while(cin>>a>>b,a||b)
	{
		cout<<dp(b)-dp(a-1)<<endl;
	}
	return 0;
}
